1. Field of the Invention
This invention relates to a data reproduction apparatus and a data reproduction method that can suitably be used for time series fast forward or reverse reproduction of video data or audio data recorded in a disk-shaped recording medium such as an optical disk or a magneto-optical disk.
2. Related Background Art
FIG. 1 of the accompanying drawings schematically illustrates a known optical disk apparatus for reproducing a moving image or a sound recorded on a recording medium such as an optical disk by means of an image encoding technique conforming to certain predetermined standards such as the MPEG (Moving Picture Experts Group) Standards. The optical disk apparatus 100 is adapted to replay a optical disk (DVD: Digital Video Disk) that can store a large amount of data by using a laser beam having a short wavelength and an objective lens having a large numerical aperture.
The optical disk apparatus 100 reproduces image data stored on an optical disk 101 by way of the laser beam emitted to irradiate and reflected by optical disk 101, using optical pickup 102. The image data detected by the optical pickup 102 is input to and demodulated by demodulation circuit 103. The image data demodulated by the demodulation circuit 103 is fed to ring buffer memory 106 by way of sector detector 104, memory controller 105 and subjected to a series of processing operations including error correction and decoding before it is output.
Sector detector 104 in FIG. 1 detects sector address numbers (the addresses assigned to sectors of the optical disk 101) out of the data demodulated by the demodulation circuit 103 and outputs them to the memory controller 105. If the sector detector 104 cannot detect sector address numbers or, if it can, the detected numbers are not consecutive, it outputs a sector address number abnormal signal to track jump control circuit 107.
Error correction circuit 108 reads out the data supplied from the demodulation circuit 103 by way of the sector detector 104 and stored in the ring buffer memory 106 and, if it detects an error, it corrects the error by using the parity bits (parity data) added to the data. If the error correction circuit 108 cannot correct the data error through the error correcting operation, it outputs an error occurrence signal to the track jump control circuit 107. The data whose error is not corrected is subjected to a descrambling operation of descramble circuit 109 and an error detecting operation of error detector 110 and then fed to the ring buffer memory 106, which stores the data under the control of the memory controller 105.
The memory controller 105 controls the data to be stored in the ring buffer memory 106. The memory controller 105 reads out the sector address number of each sector of the optical disk 101 and specifies the write address (the write pointer WP) for storing (writing) the data from the sector detector 104 corresponding to the sector address number in the ring buffer memory 106. The memory controller 105 also determines if the data volume of the data from the sector detector 104 stored in the ring buffer memory 106 exceeds the capacity of the ECC (error correction codes) block or not and specifies the address to be used for reading out data from the ring buffer memory 106 to the error correction circuit 108 and the address (ECC ending pointer EP) to be used for storing the data corrected for errors in the ring buffer memory 106.
The memory controller 105 also specifies the read address (output pointer RP) of the data written in the ring buffer memory 106 on the basis of the code request signal from video decoder 112 and audio decoder 113 that are arranged downstream. Data is read out from the ring buffer memory 106 according to the request signal.
The reproduced and output data is then supplied from the ring buffer memory 106 to demultiplexer 111. The demultiplexer 111 separates the video data and the audio data according to the packet header information supplied to it. The isolated video data is then supplied to the video decoder 112 by way of video buffer 114, while the audio data is supplied to the audio decoder 113 by way of audio buffer 115. The video decoder 112 typically decodes the data according to MPEG 2. The video data and the audio data decoded in a manner as described above are then subjected to D/A conversion and other processing operations before output through output terminal 116 and output terminal 117 respectively.
In the above described known optical disk apparatus 100, the data written in the ring buffer memory 106 is subjected to an error correcting operation in a manner as described above and subsequently supplied to the video buffer 114 according to the code request signal from the video decoder 112. If data of simple images are continuously processed so that data are transferred from the video buffer 114 to the video decoder 112 at a low rate, the rate of transferring data from the ring buffer memory 106 to the video buffer 114 also falls. Then, the amount of data stored in the ring buffer memory 106 increases to give rise to an overflow state. Then, the track jump control circuit 107 determines (detects) the amount of data currently stored in the ring buffer memory 106 on the basis of the write pointer WP and the output pointer RP controlled by the memory controller 105 and, if the data volume exceeds a predetermined reference value, it so judges that the ring buffer memory 106 can overflow and outputs a track jump command to servo circuit 118.
Upon detecting an sector address number abnormal signal from the sector detector 104 or an error occurrence signal from the error correction circuit 108, the track jump control circuit 107 determines the amount of outputtable data remaining in the ring buffer memory 106 on the basis of the ECC ending pointer EP and the output pointer RP that are controlled by the memory controller 105 and, at the same time, the amount of data necessary for ensuring a successful operation of reading data from the ring buffer memory 106 to the video buffer 114, starting from the current track position, while the optical disk 101 makes a full turn (during the time waiting for a full turn of the optical disk 101). So long as the ring buffer memory 106 contains a large amount of date remaining in it, no underflow occurs in the ring buffer memory 106 if data are read out of it at a maximal transfer rate. Therefore, the track jump control circuit 107 judges that any error can be corrected by causing the optical pickup 102 to once again reproduce data from the position where the error occurred and outputs a track jump command to the servo circuit 118.
Upon receiving the track jump command output from the track jump control circuit 107, the servo circuit 118 give rise to a track jump for the replay position of the optical pickup 102. More specifically, if, for instance, data are recorded from the inner periphery toward the outer periphery of the optical disk 101, the servo circuit 118 causes the optical pickup 102 to jump from the current position to the adjacent inner track. Then, any new data write to the ring buffer memory 106 is prohibited until the optical pickup 102 makes a full turn and returns to the original replay position and therefore until the sector address number obtained by the sector detector 104 becomes equal to the one obtained at the time of the track jump and, if necessary, the data already stored in the ring buffer memory 106 are transferred to the video buffer 114.
After the track jump, the operation of writing data into the ring buffer memory 106 is not resumed and another track jump takes place if the sector address number obtained from the sector detector 104 agrees with the one obtained at the time of the track jump provided that the amount of data stored in the ring buffer memory 106 exceeds a predetermined reference value and hence the ring buffer memory 106 can overflow.
The system controller 121 controls the above described system components and specifies the data to be written to and reproduced from the ring buffer memory 106 as sector address number in advance to the sector detector 104. For example, the system controller 121 specifies a write start specifying address (SSA) and a write end specifying address (ESA). When reproducing the data stored in the optical disk 101, the system controller 121 outputs a track jump command to the servo circuit 118 by the supply of the write start specifying address SSA to the truck jump control circuit 107. Then, the servo circuit 118 drives the optical pickup 102 and causes it to jump to the track position having the write start specifying address SSA. The sector detector 104 detects sector address numbers from the data demodulated by the demodulation circuit 103 and outputs it to the memory controller 105. Then, the memory controller 105 reads the sector address number of each sector of the optical disk 101 and compares it with the write start specifying address SSA and the write end specifying address ESA to see if they agree with each other or not.
In the case of a DVD, data are written to the ring buffer memory 106 in a unit of ECC block for every 16 sectors. In other words, the data starting from the ECC block containing the data of the sector showing a sector address number agreeing with the write start specifying address SSA and ending at the EEC block containing the data of the sector showing a sector address number agreeing with the write end specifying address ESA are written to the ring buffer memory 106.
On the other hand, the sector detector 104 generates start sector information, end sector information and output-specified sector information for each sector and writes them as sector information in a predetermined region of the ring buffer memory 106 with other data. Said start sector information, end sector information and output-specified sector information are expressed as 1-bit information, of which the start sector information is made equal to “1” when the sector address of the sector detected by the sector detector 104 agrees with the write start specifying address SSA and the end sector information is made equal to “1” when the sector address of the sector detected by the sector detector 104 agrees with the write end specifying address ESA, while the output-specified sector information is made equal to “1” when the sector address of the sector detected by the sector detector 104 is the write start specifying address SSA or the write end specifying address ESA.
The above sector information is read out of the ring buffer memory 106 by the memory controller 105 when data are read out of the ring buffer memory 106 to the demultiplexer 111 after the error correction, the descrambling and the error detection and before reading data on a sector by sector basis. Then, the memory controller 105 determines if it outputs the read out sector information to the downstream decoders 112, 113 or not on the basis of the bit of the output-specified sector information and uses the sector information to determine if it outputs the data strobe signal that is output from the ring buffer memory 106 with data or not. The decoders 112, 113 receive data from the ring buffer memory 106 if the data strobe signal is found to be effective, whereas the decoders 112, 113 do not receive data from the ring buffer memory 106 if the data strobe signal is not effective. This operation is effective for outputting data when the write start specifying address SSA and the write end specifying address ESA at the DVD are respectively not the leading sector and the tail end sector in the ECC block.
If, for instance, the data of sector (2) through sector (D) of ECC block (N) are specified for output as shown in FIG. 2, the data of sector (0) through sector (F) of ECC block (N) are written to the ring buffer memory 106 and subjected to error correction. Subsequently, as the data of sector (4) through sector (C) of ECC block (M) are specified for output, the data of sector (0) through sector (F) of ECC block (M) are written to the ring buffer memory 106 and subjected to error correction. With regard to the data subjected to error correction, only the data strobe signals (STB) of the data (DATA) of the sectors specified for output become effective as shown in FIG. 3. In the case of the decoders 112, 113, the data (DATA) with the data strobe signal (STB) equal to “1” are received at the time when clock (CLK) is “1”. In FIG. 3, “*” denotes that the data showing it is effective. As described above, in a conventional optical disk apparatus 100, the system controller 121 utilizes sector information for the operation of data reproduction without specifying each of the sectors from which data are reproduced for controlling the output of the ring buffer memory 106.
When a conventional optical disk apparatus 100 having the above described configuration is operated for fast forward or reverse reproduction of data so that only an I picture conforming to the MPEG Standards are decoded and reproduced fast by means of the video decoder 112, the last address of the video data storage area of the optical disk 101 where the data corresponding to the I picture is recorded is detected by analysing the data search information contained in the reproduced data.
Now, for instance, when an DVD (digital video disk) is driven for a special operation of fast forward or reverse data reproduction, a data referred to as NAVI pack (NV—PCK) is utilized.
In the DVD format, a cell is used as basic unit for the processing operation of reproducing the contents of information and then a video object unit (VOBU) obtained by dividing a cell is used as minimum reproduction unit of 0.4 to 1.2 seconds. A navigation pack (NV—PCK) is arranged at the top of the minimal reproduction unit of VOBU as control information pack.
The NAVI pack contains a PCI packet that contains presentation control information (PCI) and data search information (DSI) for detecting data. These pieces of information are typically used as VOBU address information for scanning both the front and the back of the VOBU that is the minimal reproduction unit for fast reproduction of data.
Thus, when the optical disk apparatus 100 is used for fast forward or reverse data reproduction in the DVD format, NV—PCK—LBN showing the end address of the NAVI pack itself and the end address VOBU—1STREF—EA of the I picture that is detected first from the NAVI pack are taken out the end address of the area where the data of the I picture is arranged is determined by using the sector address number that is obtained by adding NV—PCK—LBN and VOBU—1STREF—EA. Note that the data of the NAVI pack are taken out of the sector data that are reproduced and confirmed for not containing any error as a result of error correction, disk sampling and error detection.
Then, when the optical disk apparatus 100 starts reproducing data, the sector address number containing the data of the NAVI pack arranged at the top of the VOBU to be reproduced is selected as write start specifying address SSA and a sector address number by far larger than the write start specifying address SSA is selected as write end specifying address ESA before starting the data reproduction. After starting the data reproducing operation and carrying out a series of processing operations including sector detection, buffering, error correction, descrambling and error detection, the data containing the I picture is taken into the ring buffer memory 106 by reselecting the sector address number obtained by adding NV—PCK—LBN and VOBU—1STREF—EA out of the data of the NAVI pack. When the operation of taking the data into the ring buffer memory 106 is over, the optical pickup 102 is made to jump to a track separated from the current track by a predetermined number of tracks and the data is output from the ring buffer memory 106 to the decoders 112, 113 so that only the I picture is reproduced.
As described above, with the known optical disk apparatus 100, VOBU—*REF—EA (*: 1st, 2nd or 3rd) and NV—PCK—LBN of the NAVI pack are referenced to control the output of the ring buffer memory 106 for fast reproduction of data.
Meanwhile, in an operation of fast forward reproduction of reproducing only I pictures, if the sector address number containing the leading NAVI pack of NOBU is 22 as shown in FIG. 4, firstly 22 is selected for the write start specifying address SSA and 99 that is a sector address number by far large relative to the write start specifying address SSA is selected for the write end specifying number to start reproducing data (PB—DATA) (in FIG. 4(a), time t0). In FIG. 4, 1X, 2X, 3X and 4X denotes respective ECC blocks, each comprising 16 sectors. Thus, the ECC blocks respectively comprise sector (10) through sector (IF), sector (20) through sector (2F), sector (30) through sector (3F) and sector (40) through sector (4F).
As the sector (20) is detected by the sector detector 104, the operation of writing data that are corrected for errors in sectors (20) through (4F) of the ring buffer memory 106 starts at time t1 and that of writing the sector information on sectors (20) through (4F) also starts (in FIG. 4(b), BUFF—WR).
When data for an ECC block is written in the ring buffer memory 106, an operation of error correction and error detection starts at time t2 (in FIG. 4 (c), ECC).
The stream detector analyses the data that are corrected for errors, takes out NV—PCK—LBN (=22) and VOBU—1STREF—EA (=21) from the NAVI pack data and then reselects the sector address number obtained by adding NV—PCK—LBN and VOBU—1STREF—EA as write end specifying address ESA (=43) (in FIG. 4(d), NAVI—DET, !NEW—ESA—SET).
When the sector (50) is detected by the sector detector 104, the operation of writing data in the ring buffer memory 106 is terminated at time t4. When the operation of error correction ends, the data of sectors (22) through (43) are output to the video decoder 112 according to the sector information (in FIG. 4(e), BUFF—RD).
Then, the video decoder 112 starts a decoding operation at time t3 (in FIG. 4(f), VIDEO—DEC). When the decoding operation is completed, the data are displayed ((g) in FIG. 4, DISPLAY) and the optical pickup 102 is caused to make a track jump ((a) in FIG. 4, Jamp).
If VOBU—1STREF—EA is equal to 0, it is necessary to supply only the data of NV—PCK to the demultiplexer 111. In the above described processing operation, the sector address number (=22) obtained by adding NV—PCK—LBN and VOBU—1STREF—EA is deemed to be equal to the section address number of NV—PCK—LBN if VOBU—1STREF—EA is equal to 0 and the write end specifying address ESA is reselected for data reproduction.
However, the data to be reproduced have already passed by the sector (22) if the write end specifying address ESA of the ring buffer memory 106 is updated. Therefore, the sector detector 104 cannot detect the write end specifying address ESA if the data reproducing operation is continued. Additionally, since the sector detector 104 does not detects the write end specifying address ESA, all the sector information written into the ring buffer memory 106 that follows the write start specifying address SSA becomes output-specified sector information so that the data of the sectors following the data of NV—PCK that are not to be reproduced are also supplied to the demultiplexer 111 and inevitably subjected to the processing operations that take place downstream relative to the demultiplexer 111.
On the other hand, the known optical disk apparatus 100 normally carriers out the processing operation as shown in FIG. 5 for fast forward reproduction of reproducing only I pictures.
Referring to FIG. 5(e), firstly the system controller 121 so controls the system as to suspend any output from the ring buffer memory 106 to the demultiplexer 111 (RD—STOP).
Then, the system controller 121 controls the memory controller 105 to start reproducing I pictures, using write start specifying address SSA (=22) and write end specifying address ESA (=99) (in FIG. 5(a), PB—DATA).
Thereafter, when the sector detector 104 detects sector (20), the system controller 121 so controls the system as to start writing data and sector information into the ring buffer memory 106 (in FIG. 5(b), BUFF—WR).
When data for an ECC block is written into the ring buffer memory 106, the system controller 121 causes the system to start error correction and error detection (in FIG. 5(c), ECC).
Subsequently, the system controller 121 analyses the data that are subjected to error correction. Then, it takes out NAVI—PCK—LBN (=22) and VOBU—1STREF—EA (=0) from the NAVI pack data and reselects the sector address number obtained by adding NV—PCK—LBN and VOBU—1STREF—EA as write end specifying address (=22) (in FIG. 5(d), NAVI—DET).
Thereafter, the system controller 121 reads out the address of the data that is currently being reproduced from the sector detector 104 and compares it with the reselected write end specifying address ESA. If the address of the data being reproduced has already passed by the write end specifying address, it instructs the memory controller 105 so as to suspend the operation of writing data into the ring buffer memory 106 (WR—STOP).
Additionally, when the operation of correcting errors in the ECC block containing the write start specifying address SSA and the reselected write end specifying address ESA is completed, the system controller 121 causes the memory controller 105 to stop the operation of error correction and error detection (ECC—STOP). Furthermore, when the operation of correcting errors in the ECC block containing the write start specifying address SSA and the reselected write end specifying address ESA is completed, the system controller 121 so controls the track jump control circuit 107 as to cause the optical pickup 102 to start jumping tracks (jamp).
Then, the system controller 121 so controllers the memory controller 105 to cause the ring buffer memory 106 to output only the data of NV—PCK to the demultiplexer 111 (in FIG. 5(e), RD—START).
Subsequently, the video decoder 112 decodes NV—PCK ((in FIG. 5(f), VIDEO—DEC) and, hence there exists no data, it does not updates the display (in FIG. 5(g), DISPLAY).
Thus, when only the data of NV—PCK is output from the ring buffer memory 106 to the video decoder 112 of the conventional optical disk apparatus 100 during an operation of fast data reproduction, the system controller 121 more often than not controls the memory controller 105 so as to make it carry out a processing operation of specifying a pointer for the ring buffer memory 106 and outputting only the data of NV—PCK to the decoders 112, 113 or causes it to reduce the bit for the output-specified sector information of the sectors following the sector containing the data of NV—PCK equal to 0. Therefore, with such an optical disk apparatus 100, the processing operation of the system controller 121 required for fast reproduction of only an I picture is complex and cumbersome to consequently lower the data access speed.
In view of the above described circumstances, it is therefore the object of the present invention to provide a data reproduction apparatus and a data reproduction method that can alleviate the workload of a special processing operation of fast forward or reverse data reproduction and improve the data access speed for fast reproduction of data.